import sqlite3 from 'sqlite3';
// 生成data.ts文件
import fs from 'fs';

const db = new sqlite3.Database('./low_atitude.sqlite3');  // 请替换为你的 SQLite 数据库路径

// 只用执行一次

// NOTE:创建用于加载目录树的data1.ts文件。其实本质上可以直接通过请求数据库然后解析的方式来构建
const createDataFile = (db,tableName,saveFilePath)=>{
    // 查询所有数据
    db.all(`SELECT * FROM ${tableName}`, (err, rows) => {
    if (err) {
        console.error('Error reading from database:', err);
        return;
    }

    // 生成 TypeScript 格式的代码
    const dataTsContent = `
// 这是从 SQLite 数据库导出的数据，需先执行 node ./src/script/readSqliteData.js 命令
export const DATA = ${JSON.stringify(rows, null, 2)};
    `;

    // 写入到 data.ts 文件
    fs.writeFile(saveFilePath, dataTsContent, (writeErr) => {
        if (writeErr) {
        console.error('Error writing to data.ts:', writeErr);
        } else {
        console.log('Data has been written to data.ts successfully!');
        }
    });
    });

    // 关闭数据库连接
    db.close();
}

// 生成data.ts文件
createDataFile(db, 'air_space_list', './src/script/data1.ts');
